package cn.regexp.service;

import cn.regexp.domain.ShopCart;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 购物车 服务接口层
 */
public interface ICartService extends IService<ShopCart> {
    /**
     * 添加商品到购物车
     * @param goodsId 商品id
     * @param userId 用户id
     * @return 添加结果
     */
    Boolean addGoods(Long goodsId, Long userId);

    /**
     * 减少购物车中的商品数量
     * @param goodsId 商品id
     * @param userId 用户id
     * @return 结果
     */
    Boolean subGoods(Long goodsId, Long userId);

    /**
     * 删除购物车中的商品
     * @param goodsId 商品id
     * @param userId 用户id
     * @return 结果
     */
    Boolean delGoods(Long goodsId, Long userId);

    /**
     * 修改购物车商品选中状态
     * @param goodsId 商品id
     * @param userId 用户id
     * @return 结果
     */
    Boolean changeGoodsChecked(Long goodsId, Long userId);

    /**
     * 修改购物车某个窗口下所有商品选中状态
     * @param windowId 窗口id
     * @param isCheck 选中标志
     * @param userId 用户id
     * @return 结果
     */
    Boolean changeGoodsAllChecked(Long windowId, int isCheck, Long userId);

}
